package cn.chrisn.factory.AbstractFactor;

import cn.chrisn.factory.simpleFactor.Audi;
import cn.chrisn.factory.simpleFactor.BMW;
import cn.chrisn.factory.simpleFactor.Benz;
import cn.chrisn.factory.simpleFactor.Car;

/**
 * @Description 抽象工厂模式
 * 优点:
 * 1.抽象工厂模式隔离了具体类的生成，将创建和使用解耦。利于扩展和维护。所有的具体工厂
 * 都实现了抽象工厂中定义的那些公共接口只需改变具体工厂的实例，就可以在某种程度上改
 * 变整个软件系统的行为。
 * 2.当一个产品族中的多个对象被设计成一起工作时，它能够保证客户端始终只使用同一个产品
 * 族中的对象。
 * 3.增加新的产品族很方便，无须修改已有系统，符合“开闭原则”。
 * 缺点：增加新的产品等级结构麻烦，需要对原有系统进行较大的修改，甚至需要修改抽象层代
 * 码，这显然会带来较大的不便，违背了“开闭原则”。
 * @Author Chrisn
 * @Date 2025/4/29
 */
public interface AbstractCarFactor {
    BClassCar build_B_clasCar();
    CClassCar build_C_clasCar();
}
